home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / Palettes / DAYString / StringTest.m < prev   
Text File  |  1995-06-12  |  5KB  |  98 lines

  1. // StringTest.m -- test out the String class
  2.  
  3. #import <appkit/appkit.h>
  4. #import "DAYString.m"
  5. #import <stdio.h>
  6.  
  7. void main()
  8. {
  9.     id string1, string2, string3, string4, string5, string6, string7;
  10.     string1 = [[[DAYString alloc] init] setStringValue:"The first string."];
  11.     string2 = [[DAYString alloc] initString:"01234567890123456789"];
  12.     printf("string1 = \"%s\", length = %d.\n", [string1 stringValue],
  13.             [string1 length]);
  14.     printf("string2 = \"%s\", length = %d.\n", [string2 stringValue],
  15.             [string2 length]);
  16.     string3 = [string1 copy];
  17.     [string3 concatenate:string2];
  18.     printf("String1 + String2 = \"%s\", length = %d.\n",
  19.             [string3 stringValue], [string3 length]);
  20.     printf("String1 = \"%s\", length = %d.\n", [string1 stringValue],
  21.             [string1 length]);
  22.     [string3 free];
  23.     printf("string1!=string1: %d, string1!=string2: %d\n",
  24.             [string1 compareTo:string1], [string1 compareTo:string2]);
  25.     string3 = [string2 left:5];
  26.     string4 = [string2 right:5];
  27.     string5 = [string2 midFrom:5 to:10];
  28.     string6 = [string2 midFrom:6 length:5];
  29.     printf("left5 = %s right5 = %s mid5to10 = %s mid6len5 = %s\n",
  30.             [string3 stringValue], [string4 stringValue],
  31.             [string5 stringValue], [string6 stringValue]);
  32.     [string3 free]; [string4 free]; [string5 free]; [string6 free];
  33.     string5 = [[DAYString alloc] initString:"first"];
  34.     string3 = [string1 subStringLeft:string5];
  35.     string4 = [string1 subStringRight:string5];
  36.     printf("Substrings from string1 and \"first\"...Left:\"%s\" Right:\"%s\"\n",
  37.             [string3 stringValue], [string4 stringValue]);
  38.     [string5 setStringValue:"don:*:23:21:Don Yacktman:/LocalLibrary/Users/don:/bin/csh"];
  39.     printf("Extract parts from \"%s\" delimiting with ':':\n",
  40.             [string5 stringValue]);
  41.     printf("    Part    #3 is \"%s\"\n",
  42.             [[string5 extractPart:3 useAsDelimiter:':'] stringValue]);
  43.     printf("    Part   #10 is \"%s\"\n",
  44.             [[string5 extractPart:10 useAsDelimiter:':'] stringValue]);
  45.     printf("Return was %s.\n", [string5 extractPart:10 useAsDelimiter:':'] ? "empty object" : "nil");
  46.     printf("    First part is \"%s\"\n",
  47.             [[string5 extractPart:DAY_FIRST useAsDelimiter:':'] stringValue]);
  48.     printf("    Last  part is \"%s\"\n",
  49.             [[string5 extractPart:DAY_LAST useAsDelimiter:':'] stringValue]);
  50.     [string5 setStringValue:"/Net/darth/Users/don/Projects/daymisckit_proj/daymisckit-1/DAYString.m"];
  51.     printf("Given:        %s\n", [string5 stringValue]);
  52.     printf("    Path is:  %s\n", [[string5 pathName] stringValue]);
  53.     printf("Filename is:  %s\n", [[string5 fileName] stringValue]);
  54.  
  55.     //Carl's tests...
  56.     string7 = [DAYString newWithString:"   Hello, how are you?   "];
  57.     printf("Carl's string: \"%s\", length = %d\n",
  58.             [string7 stringValue], [string7 length]);
  59.     printf("Numwords: %d\n",[string7 numWords]);
  60.     printf("3rd word: \"%s\"\n",[[string7 wordNum:3] stringValue]);
  61.     printf("trimmed: \"%s\"\n",[[string7 trimSpaces] stringValue]);
  62.         printf("Numwords: %d\n",[string7 numWords]);
  63.     printf("Reversed: \"%s\"\n",[[string7 reverse] stringValue]);
  64.     printf("Reversed again: \"%s\"\n",[[string7 reverse] stringValue]);
  65.     printf("ToUpper:  \"%s\"\n",[[string7 toUpper] stringValue]);
  66.     printf("ToLower:  \"%s\"\n",[[string7 toLower] stringValue]);
  67.     printf("Inserting \"Oh! \" at 0:  \"%s\"\n",
  68.             [[string7 insert:"Oh! " at:0] stringValue]);
  69.     printf("Char at 0: '%c'\n",[string7 charAt:0]);
  70.     printf("ReplaceFrom 0to2 with \"YOHO!\":  \"%s\"\n",
  71.             [[string7 replaceFrom:0 to:2 with:"YOHO!"] stringValue]);
  72.     printf("spotOf 'o': %d\n",[string7 spotOf:'o']);
  73.     printf("spotOf 'o' nocase: %d\n",
  74.             [string7 spotOf:'o' caseSensitive:NO]);
  75.     printf("rspotOf 'O': %d\n",[string7 rspotOf:'O']);
  76.     printf("rspotOf 'O' nocase: %d\n",
  77.             [string7 rspotOf:'O' caseSensitive:NO]);
  78.     printf("10th rspotOf 'O': %d\n",[string7 rspotOf:'O' occurenceNum:10]);
  79.     printf("replace \"YOHO!\" with \"My!\": \"%s\"\n",
  80.             [[string7 replace:"YOHO!" with:"My!"] stringValue]);
  81.     printf("String now is \"%s\"\n",
  82.             [[string7 setStringValue:"  Hello,   I    am  fine today.  Right?  "]
  83.             stringValue]);
  84.     printf("Squashed: \"%s\"\n",[[string7 squashSpaces] stringValue]);
  85.     printf("endcmp \"Right?\": %d\n",[string7 endcmp:"Right?"]);
  86.     printf("endcasecmp \"RIGHT?\": %d\n",[string7 endcasecmp:"RIGHT?"]);
  87.     printf("endcmp \"RIGHT?\": %d\n",[string7 endcmp:"RIGHT?"]);
  88.     printf("endcasecmp n:3 \"nacHT?\": %d\n",
  89.             [string7 endcasecmp:"nacHT?" n:3]);
  90.     printf("replaceCharAt:0 with 'J': \"%s\"\n",
  91.             [[string7 replaceCharAt:0 with:'J'] stringValue]);
  92.     printf("insertChar 'a' at 1: \"%s\"\n",
  93.             [[string7 insertChar:'a' at:1] stringValue]);
  94.     [string3 free]; [string4 free]; [string5 free];
  95.     [string1 free]; [string2 free]; [string7 free];
  96.     exit(0);
  97. }
  98.